using System;

namespace PHSRAG.Insight21.COI
{
	/// <summary>
	/// Summary description for Constants.
	/// </summary>
	public class Constants
    {

       

        #region COI Status Types
        public class COIStatus
		{
			// Domain
			public const string Domain = "COISTATUS";
			public const string AttributeOrder = "Order";

			public const string New = "COISTATUS_NEW";
			public const string Start = "COISTATUS_START";
			public const string InProgress = "COISTATUS_INPROGRESS";
			public const string Submitted = "COISTATUS_SUBMITTED";
			public const string Reviewed = "COISTATUS_REVIEWED";
			public const string Terminated = "COISTATUS_TERMINATED";
            public const string Closed = "COISTATUS_CLOSED";

		}
		#endregion

        #region COI Actions for Audit

        public class COIActionsForAudit
        {
            public const string Terminate = "COI Terminated";
            public const string Submit = "COI Submitted";
            public const string ReSubmit = "COI ReSubmitted";
            public const string ResetToInProgress = "Reset COI to InProgress";
            public const string QuestionnaireUpdated = "Questionnaire Updated - ";
            public const string AnnualCOICreated = "Created Annual COI";
            public const string RTUCOICreated = "Created RTU COI";
            public const string RTUCOISubmit = "RTI COI Submitted";
            public const string RTUCOIClosedOnOpenEnrollment = "RTU COI Closed on OpenEnrollment";
            public const string CompletedQuestionnaires = "Completed all Questionnaires";

        }

        #endregion COI Actions for Audit

        #region QuestionnaireAnswerStatus

        public class QuestionnaireAnswerStatus
        {
            public const string Start = "QASTATUS_START";
            public const string InProgress = "QASTATUS_INPROGRESS";
            public const string Completed = "QASTATUS_COMPLETED";
            public const string None = "";
        }

        #endregion QuestionnaireAnswerStatus



        #region COI Standard report types
        public class COIStandardReport
		{
			// Domain
			public const string Domain = "COISTDREPORTTYPE";
			public const string AttributeOrder = "Order";

			public const string ChiefChairVP = "COISTDRPT_CHIEFCHAIRVICEPRESIDENT";
			public const string BoardOfTrustees = "COISTDRPT_BOARDTRUSTEE";
			public const string PresidentReport = "COISTDRPT_PRESIDENT";
			public const string UnitDivisionChief = "COISTDRPT_UNITDIVISIONCHIEF";			
		}
		#endregion

		#region COI Role Types
		public class COIRole
		{
			public const string Domain="COIROLE";
			public const string AttributeOrder="Order";

			public const string President = "COIROLE_PRESIDENT";
			public const string ChiefChair = "COIROLE_CHIEFCHAIR";
			public const string UnitOrDivisionChief = "COIROLE_UNITDIVISIONCHIEF";
			public const string AdminSupervisor = "COIROLE_ADMINSUPERVISOR";
			public const string Other = "COIROLE_OTHER";
		}
		#endregion

		#region COI Search 
		public class COISearch
		{
			public const string FirstName="firstName";
			public const string LastName="lastName";
            public const string SupervisorFirstName = "supervisorFirstName";
            public const string SupervisorLastName = "supervisorLastName";
			public const string UserName="userName";
			public const string ExternalPeople="externalPeople";
			public const string PolicyQuestion="policyQuestion";
			public const string Status="statusList";
			public const string NothingToDisclose="nothingToDisclose";
			public const string IncludeAll="includeAll";
			public const string DirectReportsOnly="directReportsOnly";
            public const string HierarchyType = "hierarchyType";
		}
		#endregion

		#region Notification Types
		public class NotificationTypes
		{
			// Domain
			public const string Domain = "COINTFNTYPE";
			public const string AttributeOrder = "Order";
			public const string AttributeCanSendEmail = "CanSendEmail";

			public const string OpenEnrollment = "COINTFNTYPE_OPNENRLMNT";
			public const string ReminderStart = "COINTFNTYPE_REMINDER_START";
            public const string ReminderInProgress = "COINTFNTYPE_REMINDER_INPROGRESS";
			public const string OverdueStart = "COINTFNTYPE_OVERDUE_START";
            public const string OverdueInProgress = "COINTFNTYPE_OVERDUE_INPROGRESS";
            public const string Individual = "COINTFNTYPE_INDIVIDUAL";
            public const string Submitted = "COINTFNTYPE_SUBMITTED";

		}
		#endregion

		#region COI Date Types
		/// <summary>
		/// Constants that define the date types that might need to be updated in the database.
		/// These values will be used in the stored procedure "SaveCOI"
		/// </summary>
		public enum COIDateType
		{
			None,
			SubmittedDate,
			ReviewedDate,
			NotifiedDate,
            ClosedDate //Not in use. Need to use in future.
		}
		#endregion

        #region SourcePage
        public enum SourcePage
        {
           SupervisorSummarypage     = 0,
           HierarchyMaintenenacePage = 1,
           AddCOIusersPage           = 2,
           CustomReportsPage         = 4,
           DelegateManagementPage    = 5,
           AddDelegatesPage          = 6
        }
        #endregion

        #region COI Type

        public enum COIType
        {
            AnnualCycle = 1,
            RealTimeUpdate = 2
        }

        #endregion COI Type

        #region COI Status Types
        public class COIFormsInLowerCase
        {
            // Domain
            public const string InitialDisclosure = "individual disclosure";
            public const string YourOutsideActivities = "your outside activities";
            public const string YourEquityInterests = "your equity interests";
            public const string YourFamilyInterests = "your family's associations and equity interests";
            public const string TrusteeFamilyAssociations = "trustee's family associations and equity interests";
            public const string YourIntellectualProperty = "your intellectual property";           

        }
        #endregion
	}
}
